1. Technical Field
The invention relates generally to a directory service. More particularly, the invention relates to a system and method of creating directory server views and using them to navigate entries in a directory server.
2. Description of the Prior Art
A directory service is a structured repository of information about people and resources within an organization that facilitates management and communication within the organization. On a local area network (LAN) or a wide area network (WAN), the directory service identifies all aspects of the network including users, software, hardware, and the various rights and policies assigned to each. As a result, applications access information without knowing where a particular resource is physically located and users interact oblivious to the underlying network topology and protocols.
To allow heterogeneous networks to share directory information, the International Telecommunications Unions (ITU) has proposed a common structure called “X.500,” which is a set of standards covering electronic directory services such as “white pages,” “Knowbot,” and “whois”. However, its complexity and lack of seamless Internet support led to the development of Lightweight Directory Access Protocol (LDAP), which has continued to evolve under the aegis of the Internet Engineering Task Force (IETF).
LDAP has been adopted by many companies, such as America Online Inc. (Netscape Directory Server) and has become a de facto standard for directory services. Other LDAP compatible offerings include Novell, Inc.'s Novell Directory Services (NDS) and Microsoft Corporation's Active Directory. The Netscape and Novell products are available for Windows NT and Unix platforms. Novell Directory Services also run on Novell platforms. Microsoft Corporation's Active Directory is an integral part of Microsoft's Windows 2000 and, although it can interface with directory services running on other systems, it is not available for other platforms.
Directory service has been widely used in various areas because it provides a standard way to add, update, and retrieve information entries stored in a central or distributed storage place. For example, using LDAP, any client compliant to the LDAP standard can communicate with any directory server compliant to the same LDAP standard.
There is, however, a problem in the deployment of a directory server in that a user is limited to choose either a flat directory information tree or a hierarchical directory information tree. On the one hand, if the user chooses to create a flat directory information tree, it becomes inconvenient to navigate the entries in the directory. On the other hand, if the user chooses to create a hierarchical directory information tree that is useful in navigating the directory, it becomes inconvenient to respond to a need to change the hierarchy.
It would be advantageous to provide a directory server that can create arbitrary hierarchies that are mapped to entries without the need to move the entries in the directory.
It would also be advantageous to keep any changes to the directory server structure to be transparent to any client of the directory server.
It would also be advantageous to facilitate a structured directory information tree in the directory server.